#include <stdio.h>
#include <math.h>
#include <assert.h>

// #define NDEBUG;

#ifndef NDEBUG
#define ASSERT(cond) if(!(cond)) \
                        { \
                        printf("FAIL: %s, in %s, %d, %s", \
                                #cond, \
                                __FILE__, __LINE__, \
                                __PRETTY_FUNCTION__); \
                                abort(); \
                        }

#else #define ASSERT(cond) ;
#endif


int chPow(int x, int y); // get x^y DAD

int binPow(int x, int y); // get x^y GOOD

int c1(int n);

int main()
{
    printf("Hi, fellas! What's up?\n");
    int n = 0;

    scanf("%d", &n);

    if (c1(n) == 0)
        printf("YES");
    else
        printf("NO");

    return 0;
}

int c1(int n)
{
    if (n == 0)
        return 0; // it's OK
    if (n % 4 == 0)
        return c1(n / 4);
    if (n % 4 == 1)
        return c1((n - 1) / 4);
    if (n % 4 == 2)
        return 1;  // can't be measured
    if (n % 4 == 3)
        return c1((n + 1) / 4);
}

int binPow(int x, int y)
{
    if ((x == 1) || (x == 0))
        return x;
    if (y == 0)
        return 1;
    {
        if (y % 2 == 0)
            return binPow(x, y / 2) * binPow(x, y / 2);
        else
            return binPow(x, y - 1) * (x);
    }

}

int chPow(int x, int y)
{
    int z = 1;
    int i = 0;
    for (i = 0; i < y; i++)
        z = z * x;
    return z;
}
